package com.store.dao;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

import com.stroe.util.Page;

/**
 * 范型类T类的接口
 * 
 * @author yinfeng
 * 
 * @param <T>
 */
public interface GeneralDao<T extends Serializable> {
	/**
	 * 保存一个对象
	 * 
	 * @param t
	 * @return
	 */
	public boolean save(T t);

	/**
	 * 修改一个对象
	 * 
	 * @param t
	 * @return
	 */
	public boolean update(T t);

	/**
	 * 删除一个对象
	 * 
	 * @param t
	 * @return
	 */
	public boolean delete(T t);

	/**
	 * 根据条件获取对象集合
	 * 
	 * @param page
	 * @param map
	 * @return
	 */
	public List<T> getTs(Page page, Map<String, Object> map);

	/**
	 * 根据条件获取对象集合的总数量
	 * 
	 * @param map
	 * @return
	 */
	public long getTotal(Map<String, Object> map);

}
